Move documentation to inline comments: GtkObject
authorJavier Jardón <jjardon@gnome.org>
Thu, 13 May 2010 17:39:44 +0000 (19:39 +0200)
committerJavier Jardón <jjardon@gnome.org>
Thu, 13 May 2010 17:39:44 +0000 (19:39 +0200)
docs/reference/gtk/tmpl/.gitignore
docs/reference/gtk/tmpl/gtkobject.sgml [deleted file]
gtk/gtkobject.c
gtk/gtkobject.h

index 8b4eaa0db94a3b3747813deeca4ef261e5ebb1f0..d8fbb174c6124d2d578c4ba3a081122c01245c28 100644 (file)
@@ -3,6 +3,7 @@ gtkbox.sgml
 gtkbuilder.sgml
 gtkhbox.sgml
 gtkmessagedialog.sgml
+gtkobject.sgml
 gtkorientable.sgml
 gtkpagesetupunixdialog.sgml
 gtkseparator.sgml
diff --git a/docs/reference/gtk/tmpl/gtkobject.sgml b/docs/reference/gtk/tmpl/gtkobject.sgml
deleted file mode 100644 (file)
index 5a3f5b7..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-GtkObject
-
-<!-- ##### SECTION Short_Description ##### -->
-The base class of the GTK+ type hierarchy
-
-<!-- ##### SECTION Long_Description ##### -->
-<refsect2>
-<title>Description</title>
-<para>
-#GtkObject is the base class for all widgets, and for a few 
-non-widget objects such as #GtkAdjustment. #GtkObject predates 
-#GObject; non-widgets that derive from #GtkObject rather than 
-#GObject do so for backward compatibility reasons.
-</para>
-<para>
-#GtkObject<!-- -->s are created with a "floating" reference count.
-This means that the initial reference is not owned by anyone. Calling
-g_object_unref() on a newly-created #GtkObject is incorrect, the floating
-reference has to be removed first. This can be done by anyone at any time, 
-by calling g_object_ref_sink() to convert the floating reference into a
-regular reference. g_object_ref_sink() returns a new reference if an object 
-is already sunk (has no floating reference). 
-</para>
-<para>
-When you add a widget to its parent container, the parent container
-will do this:
-<informalexample><programlisting>
-  g_object_ref_sink (G_OBJECT (child_widget));
-</programlisting></informalexample>
-This means that the container now owns a reference to the child widget
-and the child widget has no floating reference.
-</para>
-<para>
-The purpose of the floating reference is to keep the child widget alive 
-until you add it to a parent container:
-<informalexample><programlisting>
-   button = gtk_button_new (<!-- -->);
-   /* button has one floating reference to keep it alive */
-   gtk_container_add (GTK_CONTAINER (container), button);
-   /* button has one non-floating reference owned by the container */
-</programlisting></informalexample>
-</para>
-<para>
-#GtkWindow is a special case, because GTK+ itself will ref/sink it on creation. 
-That is, after calling gtk_window_new(), the #GtkWindow will have one 
-reference which is owned by GTK+, and no floating references.
-</para>
-
-<para>
-One more factor comes into play: the "destroy" signal, emitted by the
-gtk_object_destroy() method. The "destroy" signal asks all code owning a
-reference to an object to release said reference. So, for example, if you call
-gtk_object_destroy() on a #GtkWindow, GTK+ will release the reference count that
-it owns; if you call gtk_object_destroy() on a #GtkButton, then the button will
-be removed from its parent container and the parent container will release its
-reference to the button.  Because these references are released, calling
-gtk_object_destroy() should result in freeing all memory associated with an
-object, unless some buggy code fails to release its references in response to
-the "destroy" signal. Freeing memory (referred to as
-<firstterm>finalization</firstterm> only happens if the reference count reaches
-zero.
-</para>
-
-<para>
-Some simple rules for handling #GtkObject:
-<itemizedlist>
-<listitem><para>
-Never call g_object_unref() unless you have previously called g_object_ref(), 
-even if you created the #GtkObject. (Note: this is <emphasis>not</emphasis>
-true for #GObject; for #GObject, the creator of the object owns a reference.)
-</para></listitem>
-<listitem><para>
-Call gtk_object_destroy() to get rid of most objects in most cases. 
-In particular, widgets are almost always destroyed in this way.
-</para></listitem>
-<listitem><para> Because of the floating reference count, you don't need to
-worry about reference counting for widgets and toplevel windows, unless you
-explicitly call g_object_ref() yourself.</para></listitem>
-</itemizedlist>
-</para>
-
-</refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-#GObject
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### SECTION Image ##### -->
-
-
-<!-- ##### STRUCT GtkObject ##### -->
-<para>
-The object itself.  You should never use these members directly -
- use the accessing macros instead.
-</para>
-
-
-<!-- ##### SIGNAL GtkObject::destroy ##### -->
-<para>
-Signals that all holders of a reference to the #GtkObject should release
-the reference that they hold. May result in finalization of the object
-if all references are released.
-</para>
-
-@object: the object which received the signal.
-
-
-<!-- ##### ENUM GtkObjectFlags ##### -->
-<para>
-Tells about the state of the object.
-</para>
-
-@GTK_IN_DESTRUCTION: the object is currently being destroyed. This is used 
-  internally by GTK+ to prevent reinvokations during destruction.
-@GTK_RESERVED_1: 
-@GTK_RESERVED_2: reserved for future use
-
-<!-- ##### MACRO GTK_OBJECT_FLAGS ##### -->
-<para>
-Gets the #GtkObjectFlags for an object without directly
-accessing its members.
-</para>
-
-@obj: the object whose flags are returned.
-
-
-<!-- ##### FUNCTION gtk_object_destroy ##### -->
-<para>
-Emits the "destroy" signal notifying all reference holders that they should
-release the #GtkObject. See the overview documentation at the top of the 
-page for more details.
-</para>
-<para>
-The memory for the object itself won't be deleted until
-its reference count actually drops to 0; gtk_object_destroy() merely asks 
-reference holders to release their references, it does not free the object.
-</para>
-
-@object: the object to destroy.
-
-
index 9cedfe346f0d32667be77dd5cec698c4d9340316..a393070fdbb864ba220e39ca952aa04fcb58f097 100644 (file)
 #include "gtkalias.h"
 
 
+/**
+ * SECTION:gtkobject
+ * @Short_description: The base class of the GTK+ type hierarchy
+ * @Title: GtkObject
+ * @See_also:#GObject
+ *
+ * #GtkObject is the base class for all widgets, and for a few
+ * non-widget objects such as #GtkAdjustment. #GtkObject predates
+ * #GObject; non-widgets that derive from #GtkObject rather than
+ * #GObject do so for backward compatibility reasons.
+ *
+ * #GtkObject<!-- -->s are created with a "floating" reference count.
+ * This means that the initial reference is not owned by anyone. Calling
+ * g_object_unref() on a newly-created #GtkObject is incorrect, the floating
+ * reference has to be removed first. This can be done by anyone at any time,
+ * by calling g_object_ref_sink() to convert the floating reference into a
+ * regular reference. g_object_ref_sink() returns a new reference if an object
+ * is already sunk (has no floating reference).
+ *
+ * When you add a widget to its parent container, the parent container
+ * will do this:
+ * <informalexample><programlisting>
+ *   g_object_ref_sink (G_OBJECT (child_widget));
+ * </programlisting></informalexample>
+ * This means that the container now owns a reference to the child widget
+ * and the child widget has no floating reference.
+ *
+ * The purpose of the floating reference is to keep the child widget alive
+ * until you add it to a parent container:
+ * <informalexample><programlisting>
+ *    button = gtk_button_new (<!-- -->);
+ *    /&ast; button has one floating reference to keep it alive &ast;/
+ *    gtk_container_add (GTK_CONTAINER (container), button);
+ *    /&ast; button has one non-floating reference owned by the container &ast;/
+ * </programlisting></informalexample>
+ *
+ * #GtkWindow is a special case, because GTK+ itself will ref/sink it on creation.
+ * That is, after calling gtk_window_new(), the #GtkWindow will have one
+ * reference which is owned by GTK+, and no floating references.
+ *
+ * One more factor comes into play: the #GtkObject::destroy signal, emitted by the
+ * gtk_object_destroy() method. The #GtkObject::destroy signal asks all code owning a
+ * reference to an object to release said reference. So, for example, if you call
+ * gtk_object_destroy() on a #GtkWindow, GTK+ will release the reference count that
+ * it owns; if you call gtk_object_destroy() on a #GtkButton, then the button will
+ * be removed from its parent container and the parent container will release its
+ * reference to the button.  Because these references are released, calling
+ * gtk_object_destroy() should result in freeing all memory associated with an
+ * object, unless some buggy code fails to release its references in response to
+ * the #GtkObject::destroy signal. Freeing memory (referred to as
+ * <firstterm>finalization</firstterm>) only happens if the reference count reaches
+ * zero.
+ *
+ * Some simple rules for handling #GtkObject:
+ * <itemizedlist>
+ * <listitem><para>
+ * Never call g_object_unref() unless you have previously called g_object_ref(),
+ * even if you created the #GtkObject. (Note: this is <emphasis>not</emphasis>
+ * true for #GObject; for #GObject, the creator of the object owns a reference.)
+ * </para></listitem>
+ * <listitem><para>
+ * Call gtk_object_destroy() to get rid of most objects in most cases.
+ * In particular, widgets are almost always destroyed in this way.
+ * </para></listitem>
+ * <listitem><para> Because of the floating reference count, you don't need to
+ * worry about reference counting for widgets and toplevel windows, unless you
+ * explicitly call g_object_ref() yourself.</para></listitem>
+ * </itemizedlist>
+ */
+
+
 enum {
   DESTROY,
   LAST_SIGNAL
@@ -112,6 +183,14 @@ gtk_object_class_init (GtkObjectClass *class)
 
   class->destroy = gtk_object_real_destroy;
 
+  /**
+   * GtkObject::destroy:
+   * @object: the object which received the signal.
+   *
+   * Signals that all holders of a reference to the #GtkObject should release
+   * the reference that they hold. May result in finalization of the object
+   * if all references are released.
+   */
   object_signals[DESTROY] =
     g_signal_new (I_("destroy"),
                  G_TYPE_FROM_CLASS (gobject_class),
@@ -132,6 +211,18 @@ gtk_object_init (GtkObject      *object,
  * Functions to end a GtkObject's life time
  *
  ********************************************/
+/**
+ * gtk_object_destroy:
+ * @object: the object to destroy.
+ *
+ * Emits the #GtkObject::destroy signal notifying all reference holders that they should
+ * release the #GtkObject. See the overview documentation at the top of the
+ * page for more details.
+ *
+ * The memory for the object itself won't be deleted until
+ * its reference count actually drops to 0; gtk_object_destroy() merely asks
+ * reference holders to release their references, it does not free the object.
+ */
 void
 gtk_object_destroy (GtkObject *object)
 {
index b20f249927c40bab69fb930bc847cee8e3837faf..34f34ed7abc12eb6184ebe4f0ddc48fbf249f106 100644 (file)
@@ -56,6 +56,15 @@ G_BEGIN_DECLS
  * is a kinda nasty break up, it does make the size of
  * derived objects smaller.
  */
+/**
+ * GtkObjectFlags:
+ * @GTK_IN_DESTRUCTION: the object is currently being destroyed. This is used
+ *   internally by GTK+ to prevent reinvokations during destruction.
+ * @GTK_RESERVED_1: reserved for future use
+ * @GTK_RESERVED_2: reserved for future use
+ *
+ * Tells about the state of the object.
+ */
 typedef enum
 {
   GTK_IN_DESTRUCTION   = 1 << 0, /* Used internally during dispose */
@@ -63,7 +72,12 @@ typedef enum
   GTK_RESERVED_2       = 1 << 3
 } GtkObjectFlags;
 
-/* Macros for extracting the object_flags from GtkObject.
+/**
+ * GTK_OBJECT_FLAGS:
+ * @obj: the object whose flags are returned.
+ *
+ * Gets the #GtkObjectFlags for an object without directly
+ * accessing its members.
  */
 #define GTK_OBJECT_FLAGS(obj)            (GTK_OBJECT (obj)->flags)